1. Field of the Invention
The invention relates to voice communication, and in particular, to an integrated digital processing framework structure simultaneously performing noise reduction and echo cancellation in an efficient way.
2. Description of the Related Art
Acoustic echo cancellation and noise reduction are two prominent voice signal processing units in hands-free voice communications devices such as mobile phones, speaker-phones and voice intercom systems. In these applications, an echo canceller is used to prevent the system from going into howling caused by the acoustic feedback of the far-end speech signal via the speaker-to-microphone coupling loop, and to reduce the unpleasant perceived echo return to the far-end talker. The noise suppresser, on the other hand, is used to reduce the additive ambient noise picked up by the microphone to improve the quality and intelligibility of the speech.
Even though the echo and noise reduction problems are typically tackled using different technologies, the combined treatment has attracted a lot of interests. A survey on the combined treatment was given by Jeannes et al., in “Combined Noise and Echo Reduction in Hands-Free Systems: A survey”, IEEE Trans. On Speech and Audio Processing, vol. 9, no. 8, November 2001, pp. 808-820. An earlier review on the technologies was presented by Martin et al., in “Combined Acoustic Echo Control and Noise Reduction for Hands-Free Telephony—States of the Art and Perspectives”, Proceedings of EUSIPCO, 1996, pp. 1107-1110.
An integrated scheme for echo cancellation and noise reduction can show advantages over a simple cascading of two. Such an example is given by Rombouts et al., in “An Integrated Approach to Acoustic Echo and Noise Cancellation”; Signal Processing, vol. 85, issue 4, April 2005, pp. 849-871. In addition, more advantages in computational resource usage savings exist if some of the computational units utilized in both echo cancellation and noise reduction algorithms can be shared in the integrated solution. Such a case can be found by combining a subband based echo canceller with a general noise reduction algorithm.
An echo canceller based on subband structure is widely recognized in the art because of lower computational complexity and faster convergence compared to a full-band filter structure (see Advances in Network and Acoustic Echo Cancellation, by Benesty et al., Springer, 2001). In a subband echo canceller, the microphone and the received-in signals are respectively decomposed into subband signals by an analysis filter bank and adaptive filtering will be performed in each of the subbands. For typical noise reduction algorithms, the microphone signal also needs to be spilt into different frequency bands (see Chapter 11 in Digital Speech Transmission, Enhancement, Coding and Error Concealment, by Vary et al., John Wiley & Sons, Ltd., England, 2006). Therefore, if the subband echo canceller and noise suppression are implemented in the same subband domain, the redundancy of using two separate analysis filter banks will be eliminated. One approach based on this idea is proposed by Sasaki et al., in “Noise Reduction for Subband Acoustic Echo Canceller”, Proceedings of Acoustic Society of America and Acoustic Society of Japan Third Joint Meeting, December 1996, pp. 1285-1290, wherein both the echo cancellation and noise reduction are executed in a single set of 32 subbands. An approach of sharing the same subband for echo and noise reduction is also disclosed by Oh, Subband Acoustic Noise Suppression, U.S. Pat. No. 5,933,495, where a number of eight subbands are preferred to be used.
The method of implementing both the acoustic echo cancellation and the noise reduction in subband as described above in prior arts can be illustrated in FIG. 1. A microphone 102 receives a local input signal #Lin while the speaker 104 is outputting a local output signal #Lout. Local talker voice signal, together with the acoustic echo of the local output signal #Lout and the ambient noise signals are all picked up by the microphone 102 as the local input signal #Lin. Thus, noise reduction and echo cancellation are both required. In FIG. 1, a first filter bank 112 and a second filter bank 114 provide a conventional structure to analyze the full band input signals respectively into frequency bands for echo cancellation and noise reduction. The first filter bank 112 performs a subband decomposition on the local output signal #Lout to generate a plurality of first subband signals Xj (j=1 to N) each corresponding to the signal residing in the respective subband, and likewise the second filter bank 114 decomposes the local input signal #Lin to generate the same plurality of second subband signal Yj in the set of corresponding subbands. A plurality of echo cancellers 118 are provided, each performing echo cancellation on a pair of first subband signal Xj and second subband signal Yj to output a cancellation result Ej. Each cancellation results Ej is respectively sent to its own noise reduction unit 212 in which noise reduction are processed. A plurality of noise reduction units 212 exist. Each noise reduction results Rj is respectively then sent to nonlinear processors 130 for further residual echo suppressions. A plurality of nonlinear processors 130 exist. A synthesis filter bank 116 is coupled to the nonlinear processors 130, synthesizing from all the output results Dj from the nonlinear processors 130 into the full-band outbound signal #Rout.
FIG. 2 is a flowchart of the conventional method for implementing echo cancellation and noise reduction in subband based on FIG. 1. In step 201, the first filter bank 112 and second filter bank 114 convert the local input signal #Lin and local output signal #Lout into first subband signals Xj and second subband signals Yj, wherein further procedures are processed per subband. In step 203, an echo canceller 118 performs echo cancellation on a second subband signal Yj based on a first subband signal Xj to generate a cancellation result Ej. In step 205, a noise reduction unit 212 performs noise reduction on the cancellation result Ej to generate a de-noised result Rj. In step 207, a nonlinear processor 130 performs residual echo suppression on the de-noised result Rj to generate a qualified result Dj. In step 209, all the qualified results Dj from every subband are synthesized by a synthesis filter bank 116 to render an outbound signal #Rout.
In the integrated structure as shown in FIG. 1, although noise reduction is implemented in conjunction with echo cancellation per subband, its performance may not be achieved at an optimized level due to the fact that the requirements for frequency band partitioning are generally different for optimal echo cancellation and for optimal noise reduction algorithms. For echo cancellation in the subband domain, smaller number of subbands such as 8, 16, or 32 are typically used. If the number of subbands is larger than 32, the processing delay and the implementation complexity will become too high as revealed in many literatures and disclosures (e.g., U.S. Pat. No. 5,305,307 and No. 5,566,167). But for noise reduction, larger number of subbands such as 128 or 256 are needed in order to obtain satisfactory results when applying commonly used noise suppression algorithms such as the spectral subtraction and Minimum Mean Square Error (MMSE).
Therefore, performing the noise reduction in the exact same frequency subbands as echo cancellation, as shown in FIG. 1, lead to performance compromises for either the echo cancellation, or for the noise reduction, or both, due to their contradicting requirements on the frequency band separation.